import {loadNamespaceOptions} from "../../namespace/api/EntityApi.js";

const tableColumns = [
    {
        "key": "namespace",
        "label": "命名空间",
        "type": "string",
        "default": null
    },
    {
        "key": "dbType",
        "label": "数据库类型",
        "type": "string",
        "default": null
    },
    {
        "key": "name",
        "label": "名称",
        "type": "string",
        "default": null
    },
    {
        "key": "url",
        "label": "URL",
        "type": "string",
        "default": null
    },
    {
        "key": "username",
        "label": "用户名",
        "type": "string",
        "default": null
    },
    {
        "key": "password",
        "label": "密码",
        "type": "string",
        "default": null
    },
    {
        "key": "driverClassName",
        "label": "驱动类名",
        "type": "string",
        "default": null
    },
    {
        "key": "initialSize",
        "label": "初始化大小",
        "type": "number",
        "default": 3
    },
    {
        "key": "maxActive",
        "label": "最大连接数",
        "type": "number",
        "default": 50
    },
    {
        "key": "status",
        "label": "状态",
        "type": "enum",
        "default": null,
        "options": [
            {"value": "0", "label": "停用"},
            {"value": "1", "label": "可用"}
        ],
    },
    {
        "key": "connectStatus",
        "label": "连接状态",
        "type": "enum",
        "default": null,
        "options": [
            {"value": "0", "label": "不可用"},
            {"value": "1", "label": "可用"}
        ],
    }
]

const createFormItems = [
    {
        "key": "namespace",
        "label": "命名空间",
        "type": "enum",
        "default": null,
        "placeholder": "请输入命名空间",
        "options": await loadNamespaceOptions(),
        "required": true,
        "message": "请输入命名空间"
    },
    {
        "key": "dbType",
        "label": "数据库类型",
        "type": "enum",
        "default": null,
        "placeholder": "数据库类型",
        "options": [
            {"value": "MYSQL", "label": "MYSQL"},
            {"value": "DM", "label": "达梦"}
        ],
        "required": true,
        "message": "请输入数据库类型"
    },
    {
        "key": "name",
        "label": "名称",
        "type": "string",
        "default": null,
        "placeholder": "请输入名称",
        "required": true,
        "message": "请输入名称"
    },
    {
        "key": "url",
        "label": "URL",
        "type": "string",
        "default": null,
        "placeholder": "请输入URL",
        "required": true,
        "message": "请输入URL"
    },
    {
        "key": "username",
        "label": "用户名",
        "type": "string",
        "default": null,
        "placeholder": "请输入用户名",
        "required": true,
        "message": "请输入用户名"
    },
    {
        "key": "password",
        "label": "密码",
        "type": "string",
        "default": null,
        "placeholder": "请输入密码",
        "required": true,
        "message": "请输入密码"
    },
    {
        "key": "driverClassName",
        "label": "驱动类名",
        "type": "enum",
        "default": null,
        "placeholder": "驱动类名",
        "options": [
            {"value": "com.mysql.cj.jdbc.Driver", "label": "com.mysql.cj.jdbc.Driver"},
            {"value": "com.mysql.jdbc.Driver", "label": "com.mysql.jdbc.Driver"},
            {"value": "dm.jdbc.driver.DmDriver", "label": "dm.jdbc.driver.DmDriver"}
        ],
        "required": true,
        "message": "请输入驱动类名"
    },
    {
        "key": "initialSize",
        "label": "初始化大小",
        "type": "number",
        "default": 3,
        "placeholder": "请输入初始化大小",
        "required": true,
        "message": "请输入初始化大小"
    },
    {
        "key": "maxActive",
        "label": "最大连接数",
        "type": "number",
        "default": 50,
        "placeholder": "请输入最大连接数",
        "required": true,
        "message": "请输入最大连接数"
    },
    {
        "key": "status",
        "label": "状态",
        "type": "enum",
        "default": null,
        "placeholder": "请输入状态",
        "options": [
            {"value": "0", "label": "停用"},
            {"value": "1", "label": "可用"}
        ],
        "required": true,
        "message": "请输入状态"
    }
]

const updateFormItems = [
    {
        "key": "namespace",
        "label": "命名空间",
        "type": "string",
        "default": null,
        "placeholder": "请输入命名空间",
        "required": true,
        "message": "请输入命名空间"
    },
    {
        "key": "dbType",
        "label": "数据库类型",
        "type": "enum",
        "default": null,
        "placeholder": "数据库类型",
        "options": [
            {"value": "MYSQL", "label": "MYSQL"},
            {"value": "DM", "label": "达梦"}
        ],
        "required": true,
        "message": "请输入数据库类型"
    },
    {
        "key": "name",
        "label": "名称",
        "type": "string",
        "default": null,
        "placeholder": "请输入名称",
        "required": true,
        "message": "请输入名称"
    },
    {
        "key": "url",
        "label": "URL",
        "type": "string",
        "default": null,
        "placeholder": "请输入URL",
        "required": true,
        "message": "请输入URL"
    },
    {
        "key": "username",
        "label": "用户名",
        "type": "string",
        "default": null,
        "placeholder": "请输入用户名",
        "required": true,
        "message": "请输入用户名"
    },
    {
        "key": "password",
        "label": "密码",
        "type": "string",
        "default": null,
        "placeholder": "请输入密码",
        "required": true,
        "message": "请输入密码"
    },
    {
        "key": "driverClassName",
        "label": "驱动类名",
        "type": "enum",
        "default": null,
        "placeholder": "驱动类名",
        "options": [
            {"value": "com.mysql.cj.jdbc.Driver", "label": "com.mysql.cj.jdbc.Driver"},
            {"value": "com.mysql.jdbc.Driver", "label": "com.mysql.jdbc.Driver"},
            {"value": "dm.jdbc.driver.DmDriver", "label": "dm.jdbc.driver.DmDriver"}
        ],
        "required": true,
        "message": "请输入驱动类名"
    },
    {
        "key": "initialSize",
        "label": "初始化大小",
        "type": "number",
        "default": 3,
        "placeholder": "请输入初始化大小",
        "required": true,
        "message": "请输入初始化大小"
    },
    {
        "key": "maxActive",
        "label": "最大连接数",
        "type": "number",
        "default": 50,
        "placeholder": "请输入最大连接数",
        "required": true,
        "message": null
    },
    {
        "key": "status",
        "label": "状态",
        "type": "enum",
        "default": null,
        "placeholder": "请输入状态",
        "options": [
            {"value": "0", "label": "停用"},
            {"value": "1", "label": "可用"}
        ],
        "required": true,
        "message": "请输入状态"
    }
]

const tableCriteria = [
    {
        "key": "namespace",
        "label": "命名空间",
        "type": "string",
        "default": null,
        "placeholder": "请输入命名空间"
    },
    {
        "key": "createTime",
        "label": "创建时间",
        "type": "datetime",
        "default": null,
        "placeholder": "请选择创建时间"
    },
    {
        "key": "status",
        "label": "状态",
        "type": "enum",
        "default": null,
        "placeholder": "请选择状态",
        "options": [
            {"value": "0", "label": "停用"},
            {"value": "1", "label": "可用"}
        ]
    },
]

export {tableColumns, createFormItems, updateFormItems, tableCriteria};